package br.edu.ufcg.lsd.wbis.control.equipment;

import java.util.List;

public interface EquipmentDAO {
	
	/* Add Operations */
	
	public void addEquipment(Equipment equipment);
	
	/* Remove Operations */
	
	public void removeEquipment(Equipment equipment);
	
	/* Update Operations */
	
	public void updateEquipment(Equipment equipment);
	
	/* Get Operations */
	
	public <T extends Equipment> T getEquipment(Class<T> equipmentClazz, String inventoryCode);
	
	public <T extends Equipment> T getEquipment(Class<T> equipmentClazz, String inventoryCode, String restrictions);
	
	public <T extends Equipment> List<T> getEquipments(Class<T> equipmentClazz);
	
	public <T extends Equipment> List<T> getEquipments(Class<T> equipmentClazz, String restrictions);
}
